package com.hsgene.order.domain.applets;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hsgene.coupon.dto.GeneticDiscountDto;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 小程序订单详情
 *
 * @author wxf
 * @date 2018/10/18 15:28
 **/
public class AppletsOrderDetailsInfoDto extends AppletsOrderSubmitInfoDto implements Serializable {

    /**
     * 订单id
     */
    private String orderId;
    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    /**
     * 未付款订单截止时间
     */
    @JsonFormat(pattern = "HH:mm:ss",timezone="GMT+8")
    private Date deadline;

    /**
     * 订单状态
     */
    private Integer status;
    /**
     * 订单原总价
     */
    private Double orderSumPrice;
    /**
     * 发票信息
     */
    private AppletsOrderInvoiceInfoDto invoiceInfoDto;

    /**
     * 检测人信息
     */
    private AppletsOrderConsigneeInfoDto testerInfo;

    /**
     * 收件人信息
     */
    private AppletsOrderConsigneeInfoDto consigneeInfo;

    /**
     * 物流信息
     */
    private AppletsOrderLogisticInfoDto logisticInfoDto;

    /**
     * 优惠券
     */
    private List<GeneticDiscountDto> discountInfoDtos;

    /**
     * 支付信息
     */
    private AppletsOrderPayInfoDto payInfos;

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public AppletsOrderLogisticInfoDto getLogisticInfoDto() {
        return logisticInfoDto;
    }

    public void setLogisticInfoDto(AppletsOrderLogisticInfoDto logisticInfoDto) {
        this.logisticInfoDto = logisticInfoDto;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Double getOrderSumPrice() {
        return orderSumPrice;
    }

    public void setOrderSumPrice(Double orderSumPrice) {
        this.orderSumPrice = orderSumPrice;
    }

    public AppletsOrderInvoiceInfoDto getInvoiceInfoDto() {
        return invoiceInfoDto;
    }

    public void setInvoiceInfoDto(AppletsOrderInvoiceInfoDto invoiceInfoDto) {
        this.invoiceInfoDto = invoiceInfoDto;
    }

    public AppletsOrderConsigneeInfoDto getTesterInfo() {
        return testerInfo;
    }

    public void setTesterInfo(AppletsOrderConsigneeInfoDto testerInfo) {
        this.testerInfo = testerInfo;
    }

    public AppletsOrderConsigneeInfoDto getConsigneeInfo() {
        return consigneeInfo;
    }

    public void setConsigneeInfo(AppletsOrderConsigneeInfoDto consigneeInfo) {
        this.consigneeInfo = consigneeInfo;
    }

    public List<GeneticDiscountDto> getDiscountInfoDtos() {
        return discountInfoDtos;
    }

    public void setDiscountInfoDtos(List<GeneticDiscountDto> discountInfoDtos) {
        this.discountInfoDtos = discountInfoDtos;
    }

    public AppletsOrderPayInfoDto getPayInfos() {
        return payInfos;
    }

    public void setPayInfos(AppletsOrderPayInfoDto payInfos) {
        this.payInfos = payInfos;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getDeadline() {
        return deadline;
    }

    public void setDeadline(Date deadline) {
        this.deadline = deadline;
    }
}
